Integrated circuits are implemented in a variety of devices and may be configured to provide a variety of functions. As with any other component of a device, one type of integrated circuit may be better suited for implementing a particular function than another type of integrated circuit. The performance of an integrated circuit implementing a function may depend upon the architecture of the integrated circuit, for example. While architectures of integrated circuits may vary according to a number of different criteria, one type of integrated circuit which may be implemented with a predetermined architecture is a programmable logic device. As will be described in more detail below, programmable logic device may comprise a variety of blocks which may have various functions.
When running an application on an integrated circuit such as a programmable logic device, certain applications may perform differently on integrated circuits having different architectures. In order to evaluate the performance of an integrated circuit device, it is necessary to benchmark the integrated circuit. Traditionally, benchmarking an architecture of an integrated circuit is done by constructing a simulation environment for that architecture, and then mapping a set of benchmark applications to that architecture. However, conventional methods require a costly and time-consuming process, especially in the early stages of defining an architecture when many features of the architecture are still speculative and subject to change.